/**
 * HTTP请求封装
 */

const install = (Vue, vm) => {

  //配置参数
	Vue.prototype.$u.http.setConfig({
		baseUrl: 'http://www.travelapi.com/api', //本地地址 
		// baseUrl: '/api', //线上环境
		showLoading: true, // 是否显示请求中的loading
		loadingMask: true, // 展示loading的时候，是否给一个透明的蒙层，防止触摸穿透
		loadingText: '努力加载中~',
		originalData:true,
		loadingTime: 800, //超过多长时间显示loading
	})
	
	//请求拦截，配置Token等参数
	Vue.prototype.$u.http.interceptor.request = (config) => {

		const token = uni.getStorageSync('userkey');
		config.header.token = token["token"];
		// // 可以对某个url进行特别处理，此url参数为this.$u.get(url)中的url值
		// if(config.url == 'user/login') config.header.noToken = true;
		// // 最后需要将config进行return
		// return config;
		// // 如果return一个false值，则会取消本次请求
		// if(config.url == '/user/rest') return false; // 取消某次请求
	}
	
	//响应拦截，判断状态码是否通过
	Vue.prototype.$u.http.interceptor.response = (res) => {
		if(!res.data.success && res.data.data === false){
			console.log(res.data)

			uni.clearStorageSync("userkey")
			
			vm.$u.route({	
				type:"reLaunch",
				url: 'pages/my/my',
			})
		}
		return res.data
	}
}

export default {
	install
}